Skip to content

fix:修复安装Electron失败问题以及新建对话bug - #2

Merged
SSK988I merged 1 commit into
mainfrom
dev
Aug 20, 2026
Merged

fix:修复安装Electron失败问题以及新建对话bug#2
SSK988I merged 1 commit into
mainfrom
dev

Conversation

@JuiXiang

@JuiXiang JuiXiang commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

变更摘要

修复桌面端的两个问题:

  1. Electron 42 在 Node.js 26 下安装不完整,导致 pnpm dev 报错退出。
  2. 新建空会话后切换回已有会话,会在侧栏出现两个“新会话”。

Electron 问题通过升级传递依赖 yauzl 并启用下载代理支持解决。会话问题通过调整生命周期持久化规则解决:没有任何 entry 的空会话不再写入 JSONL。

关联 Issue

未关联 Issue。本次修复来自 Windows 桌面端的本地复现和诊断。

目标分支

  • 常规贡献:目标为 dev
  • 发布 PR:dev -> main(仅维护者)。
  • 紧急修复:目标为 main,并已说明如何同步回 dev

实现说明

  • pnpm-workspace.yaml 中将 yauzl 覆盖为 ^3.3.1,锁文件解析为 3.4.0,修复旧版 yauzl 在 Node.js 26 下只解压 Electron ZIP 第一个文件的问题。
  • 为 Electron 启动命令设置 ELECTRON_GET_USE_PROXY=true,使下载器使用现有的 HTTP_PROXYHTTPS_PROXYNO_PROXY 配置。
  • AgentSession.new_session()dispose() 现在只会持久化包含 entry 的会话。创建后未使用的空会话会被丢弃,不再生成占位 JSONL。
  • 增加桌面运行时和会话生命周期回归测试。
  • 未修改公开 API 和会话文件格式。
  • 未采用降级 Node.js 或 Electron 的方案,以免固定到旧运行时版本。

测试计划

  • uv run ruff check .
  • uv run pyright --project pyrightconfig.release.json
  • uv run pytest -q
  • uv build --all-packages
  • uv run python scripts/check_versions.py
  • uv run coding-agent --help

补充验证:

  • Windows 11,Node.js 26.2.0,pnpm 11.22.0。
  • pnpm dev:Vite 返回 HTTP 200,TypeScript watcher 为 0 errors,Electron 42.3.0 正常启动。
  • pnpm --dir apps/desktop typecheck:通过。
  • pnpm --dir apps/desktop build:通过。
  • uv run pytest packages/app/tests/test_desktop_protocol.py -q:9 passed。
  • 两个新增回归用例:2 passed。
  • uv run pyright packages/app/src/coding_agent/core/agent_session.py:0 errors。
  • 组合运行 test_desktop_protocol.pytest_release_p0.py 时有 13 passed、2 failed;失败来自两个既有测试在 Windows 上生成的 pytest 临时会话路径超过传统路径长度限制,与本次逻辑改动无关。
  • 完整发布检查尚未执行,因此上方对应项目保持未勾选。

提交前检查

  • 我已选择正确的目标分支,并将当前分支同步到最新基线。
  • PR 只包含与目标相关的改动。
  • 新增或变更的行为已有测试覆盖,或已说明无法添加测试的原因。
  • 面向用户的行为、配置或接口变化已更新相关文档和 CHANGELOG.md(适用时)。
  • 未提交凭据、会话、日志、缓存、构建产物或其他敏感信息。
  • 我已阅读并遵循 CONTRIBUTING.md

@JuiXiang JuiXiang added the bug Something isn't working label Aug 20, 2026
@JuiXiang JuiXiang self-assigned this Aug 20, 2026
@JuiXiang
JuiXiang requested a review from SSK988I August 20, 2026 07:21
@SSK988I
SSK988I merged commit 2c5136c into main Aug 20, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants